home *** CD-ROM | disk | FTP | other *** search
/ ASME's Mechanical Engine…ing Toolkit 1997 December / ASME's Mechanical Engineering Toolkit 1997 December.iso / basic / sweep5.lzh / TUNE.BAS < prev   
BASIC Source File  |  1985-11-21  |  2KB  |  55 lines

  1. 10 '  AUDIO FREQUENCY ANALYZER   [TUNE]
  2. 20 '  ----------------------------------
  3. 30 '
  4. 40 CLS:OUT 1923,137:DIM FL(14),CC(14),SL(14),FCL(14)
  5. 50 OUT 1921,128:OUT 1921,0:OUT 1920,255
  6. 60 '
  7. 70 ' Read the calibration data from the DATA statements.
  8. 80 '
  9. 90 FOR I= 0 TO 14
  10. 100 READ FL(I),CC(I),SL(I),FCL(I)
  11. 110 NEXT:KEY OFF
  12. 120 LOCATE 12,20:INPUT "FREQUENCY  = ";F
  13. 130 IF (F<30000) AND (F>8) THEN GOTO 170
  14. 140 LOCATE 2,25 :PRINT"BAD FREQUENCY"
  15. 150 LOCATE 12,30:PRINT"                   "
  16. 160 GOTO 120
  17. 170 LOCATE 2,25 :PRINT"               "
  18. 180 '
  19. 190 '  Convert the frequency [hertz] to cap code and fine freq code.
  20. 200 '
  21. 210 I=1
  22. 220 IF F>FL(I) THEN I=I+1:GOTO 220
  23. 230 I=I-1
  24. 240 DF=INT(.5+(F-FL(I))*SL(I)+FCL(I))
  25. 250 IF DF<0 THEN OUT 1921,0:OUT 1920,255:GOTO 120
  26. 260 '
  27. 270 ' Output the codes to the VCO.
  28. 280 '
  29. 290 OUT 1920,DF  :OUT 1921,CC(I):II=0
  30. 300 '
  31. 310 '  Average the data over eight iterations.
  32. 320 '
  33. 330 FOR J=1 TO 8
  34. 340 II=II+INP(1922)
  35. 350 NEXT
  36. 360 II=255-II/8
  37. 370 LOCATE 16,20 : PRINT "ADC VALUE =";INT(II)
  38. 380 A$=INKEY$:IF A$<>"" THEN GOTO 120
  39. 390 GOTO 290
  40. 400 DATA     8,31,9.1667 ,  0
  41. 410 DATA    21,30,6.7857 , 70
  42. 420 DATA    36,19,2.5294 , 31
  43. 430 DATA    71, 7,2.1111 , 90
  44. 440 DATA   126,22,0.6081 , 15
  45. 450 DATA   201,22,0.5960 , 61
  46. 460 DATA   301,16,0.4699 , 78
  47. 470 DATA   553, 6,0.1521 , 23
  48. 480 DATA  1005, 2,0.1184 , 58
  49. 490 DATA  2009, 4,0.04332, 26
  50. 500 DATA  4001, 4,0.04814,112
  51. 510 DATA  6670, 0,0.01490,  0
  52. 520 DATA  7785, 0,0.01001, 16
  53. 530 DATA 14280, 0,0.01004, 81
  54. 540 DATA 30000, 0,0.00000,  0
  55.